package com.cskaoyan.javase.oop1._16access._0introduction;

import com.cskaoyan.javase.oop1._16access._1clazz.MyClazz;
// import com.cskaoyan.javase.oop1._16access._1clazz.MyClazz2;

/**
 * 访问权限控制符：在Java语言中，一切事物（类和类的所有成员以及类的构造器）都具有(或显示定义或隐式定义的)访问权限，而这种语言层面的访问权限控制，是由访问权限修饰符（关键字）实现的。
 *
 * Java中的包用来划分访问权限。
 * Java的访问权限的级别，是依赖包（package）来实现的。
 * Java的访问权限级别共分为以下四个级别，访问权限从严格到宽松顺序为：
 *      1.只能够在同一类中能够访问，私有的，外面谁都不能用。
 *          对应关键字private 私有的
 *      2.同一个包中的类都能够访问，同包中都可以使用。
 *          它不对应任何关键字
 *          只需要在写访问权限的位置，不写任何修饰符即可。
 *          我们称这种权限 叫做“默认权限”“缺省权限”“包私有权限”
 *          特别要注意,不要认为这个权限对应关键字"default"
 *
 *      3.不同包的子类能够访问。
 *          对应关键字"protected",受保护的访问权限
 *          这个权限下午再讲
 *
 *      4.不同包的其他类能够访问。
 *          对应关键字"public"公共的访问权限
 *          相当于没有控制权限,可以任意被访问
 *
 * 注意事项:
 *      1.Java中并不是所有结构都能够用访问权限修饰
 *          可以修饰的有: 类(包括以后学习的接口,注解等),类中成员,构造器
 *          不可以修饰的有: 局部变量,代码块
 *
 *      2.在访问权限能够修饰的结构中,不同的结构可用的访问级别是不同的
 *
 *
 * @since 10:07
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // private int a = 10;
        MyClazz mc = new MyClazz();
        // new MyClazz2();
    }
}
